Tracing gathers information about how an application executes within a computer system. Trace data may include any type of data that may explain how the application operates, and such data may be analyzed by a developer during debugging or optimization of the application. In many cases, trace data may be used for debugging an application as well as understanding and optimizing the application. Trace data may also be used by an administrator during regular operation of the application to identify any problems.